Field of the Disclosure
The present disclosure generally relates to the field of data communication over a packet switch network. More particularly, the disclosure relates to bit rate adaptation of a compressed media file while it is being downloaded it to a surfer or target system or requesting system.
Description of Background Art
Today, more and more users, systems and applications search and browse through the Internet accessing a variety of different web sites that offer access to and the delivery of different media files. This searching and browsing process is generally referred to as “surfing” and the entities performing the surfing are generally referred to as “surfers”. A few non-limiting examples of media files accessible through surfing include multimedia data, audio/video files contained in a container file such as Adobe Flash files, Microsoft Silverlight files, MPEG-4 files, etc. MPEG stands for Moving Picture Expert Group. The multimedia data files that are available for access and/or download can be embedded within web pages or they can be standalone media files. A few examples of popular web sites that provide a wide variety of media files for access, streaming, downloading, etc., include YouTube, Google Video and Yahoo Video. Many other web sites are also available for gaining access to media files. Throughout the description and the claims the terms multimedia, media, audio or video files may be used interchangeably and the term multimedia data can be used as a representative term for any type of file. Further, the term surfer may be used to refer to any equipment that is accessing, requesting and/or receiving content from the network, as well as a user that may be actuating such equipment.
Some media files use a container-file-format for delivering media files over the Internet Protocol (IP) network. Usually, a surfer can use a video player to observe a video file. An exemplary player can be a Flash Player, MPEG-4 player, etc. The player may be an application that can be invoked by the surfer's browser application, an embedded feature of a browser, a stand-alone application and even a stand-alone device. A few examples of such video players that are commonly used include the Adobe Flash Player and the Microsoft Silverlight player and the MPEG-4 player; however, many other players are also available for use.
For a variety of reasons, including the complexity of the technology and the level of clarity and resolution provided, a typical audio/video file can be rather large in size. Consequently, downloading of a typical video file can consume a significant amount of bandwidth and require a considerable amount of time. Although when first introduced, such multimedia data files were typically only available for downloading to computers connected via hardwired connections to the Internet, technology has advanced to the point where such multimedia data files are available for download over wireless networks to mobile devices. For instance, mobile devices such as, but not limited to, notebook computers, cellular telephones or handsets, handheld computers, Personal Data Assistants (PDA), or other computing devices with wireless communication capabilities are able to access, download and view multimedia content.
Although technology advancements have greatly improved the bandwidth available to mobile devices, thereby improving the download speed of data, the download time for mobile devices is still somewhat bandwidth limited compared to hardwired access to the Internet and as such, mobile devices can experience considerable delays when downloading video files. Further, very often the available bandwidth over wireless network can dramatically change from moment to moment, for example while moving from one base station which is less occupied to another one which is more occupied, etc.
The typical video player can commence the presentment of video content after only a portion of a video file is received and while the remainder of the video file is still being downloaded. Such a download can be referred to as a progressive download. Usually, the time required to download a video file is less than the time required to present the video file. Therefore, the video data that has been downloaded but that has not yet been rendered or presented by the video player can be stored in a buffer. In many situations, a surfer may decide to stop watching the video or to skip to another web page before reaching the end of the entire video file.
Typical video players provide a progress bar that graphically indicates how much of a video file has been downloaded, what portion of the video file had been viewed and where the currently viewed video is located within the file (i.e., cursor). In addition, such features may also include a “seek” or forward/reverse feature. By pressing on a certain place along the progress bar, a surfer can control the location from which the player will present the next video frames. A common progress bar can illustrate the runtime that is needed for playing the entire received video file.
Because of their large size and the value of bandwidth, video files are often-times compressed to reduce their volume. Common compression methods can be based on standards such as, but not limited to: H.263, H.264. The compressed files can be contained within a container file such as MPEG-2, MPEG-4, etc. The H.263 and H.264 methods are International Telecommunication Union (ITU) standards and MPEG2 and MPEG4 are Moving Picture Experts Group (MPEG) standards. More information on the above-identified standards can be found at the web sites available using the following URL information where the symbol <dot> represents a period in the URL: www<dot>itu<dot>int or www<dot>mpeg<dot>org (respectively), the content of which is incorporate herein by reference. Some of the compression methods are more efficient than the others. For instance, the H.264 technique is more efficient than the H.263 technique. Consequently, a video file that is compressed according to the H.264 standard has fewer bytes than the same video file, which compressed according to the H.263 standard without having any adverse affects or degradation of the presentation quality.
A compressed media file that has been compressed using a typical compression technique can include several types of frames. As non-limiting examples, the types of frames can include: an Intra frame, an Inter frame, etc. An Intra frame can also be referred as a key frame. The terms “Intra Frame” and “Key Frame” are used interchangeably throughout this description and the claims. The media data of an Intra frame (key frame) is compressed relative to information that is contained only within the current frame and not relative to any other frame in the media sequence. In contrast to an Intra frame, an Inter frame is a frame in a media compression stream that is expressed in terms of one or more neighboring frames. An Inter frame can be referred also as ‘P’ frame or ‘B’ frame. The present disclosure refers to a key frame or an Intra frame as a frame that can enable proper decoding done on a portion of a media file from the key frame (Intra frame) to the end of the file.
Multimedia data contained within a container file (such as a Flash file, MPEG-4 file, for example) can and typically does include metadata. The included metadata can be transmitted before the video data. The metadata may include the type of codec, the playing duration of the file, and the location of different frames (audio as well as video frames) in the compressed multimedia data. For instance, the metadata may identify an offset in data units (bytes, octets, bits, words, etc.) and/or time units within a media file where the beginning of a frame can be located or played.
An access network operator (ANO) is the entity that provides, provisions and manages infrastructure that provides access to the Internet for subscribers. Examples of an ANO can be a telecom operator, such as but not limited to: a cellular operator, a satellite communication service provider, a Public Switched Telephone Network (PSTN) operator, Internet Service Provider (ISP) premises, etc. Thus, the main commodity that an ANO delivers is bandwidth and as such, ANOs seek and employ the use of different methods for handling the downloading of multimedia data to improve the surfer experience and the utilization of their bandwidth resources. Some of the methods include a buffer limiter. The buffer limiter limits the amount of data (i.e., the number of bytes) that can be downloaded by an entity until the entity observes previously downloaded data (i.e., the playback of the video commences). Other common methods use adaptive bit-rate (ABR) or dynamic rate adaptation (DRA) method in which every group of pictures (GOP) the rate can be changed.
Yet other methods can reduce the volume or size of the video files that are transferred via an access network. Reduction of the volume of the video files can be done on the fly by converting the format of the media file into streaming and transcoding (converting) the compression standard used into an improved compression standard during downloading of the file. For example, if a media file was compressed according to H.263, an exemplary ANO can transcode the compressed video into H.264 thereby reducing the file size. Such a transcoding can improve the surfer's experience by accelerating the rendering of the video file as well as reducing the bandwidth consumption over the communication links between a surfer and the access network. Other systems may use trans-rating method by which the bite-rate of the compression is increased or decreased according to the current needs.